/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.fatecpg.zanotti.acessobanco;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;

/**
 * Classe responsável por realizar todas consultas relacionadas ao JComboBox Fornecedor.
 * @author F.L. Zanotti
 */
public class conComboFornecedor {
/**
 * Realiza uma consulta de Nome de Fornecedores.
 * @return ComboBoxModel populado
 */
    public ComboBoxModel consulta() {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "SELECT NMFORNECEDOR from FORNECEDOR";

            PreparedStatement pst = con.prepareStatement(query);

            ResultSet rs = pst.executeQuery();

            Vector vetor = new Vector();

            while (rs.next()) {

                String NMFORNECEDOR = rs.getString("NMFORNECEDOR");
                NMFORNECEDOR = NMFORNECEDOR.trim();

                vetor.addElement(NMFORNECEDOR);

            }
            con.close();
            rs.close();

            vetor.size();
            ComboBoxModel modelo = new DefaultComboBoxModel(vetor);
//            JComboBox combo = new JComboBox(modelo);
            return modelo;
        } catch (SQLException e) {
            System.out.println(e);
        }

        return null;
    }
    /**
     * Realiza uma consulta Nome de Fornecedor.
     * @param x Cdloja
     * @return ComboBoxModel populado
     */
    public ComboBoxModel consultaPorCDLOJA(String x) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "SELECT f.NMFORNECEDOR from FORNECEDOR f join PRODUTO p" +
                    " USING(cdfornecedor)" +
                    " WHERE cdloja = ?";

            PreparedStatement pst = con.prepareStatement(query);
            pst.setInt(1, Integer.parseInt(x));
            ResultSet rs = pst.executeQuery();

            Vector vetor = new Vector();

            while (rs.next()) {

                String NMFORNECEDOR = rs.getString("NMFORNECEDOR");
                NMFORNECEDOR = NMFORNECEDOR.trim();

                vetor.addElement(NMFORNECEDOR);

            }
            con.close();
            rs.close();

            vetor.size();
            ComboBoxModel modelo = new DefaultComboBoxModel(vetor);
//            JComboBox combo = new JComboBox(modelo);
            return modelo;
        } catch (SQLException e) {
            System.out.println(e);
        }

        return null;
    }
    /**
     * Realiza uma Consulta por Código do Fornecedor.
     * @param cd Nome do Fornecedor
     * @return String CDFornecedor
     */
    public String consultaCDFORNECEDOR(String cd) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "SELECT CDFORNECEDOR from FORNECEDOR where NMFORNECEDOR like ?";

            PreparedStatement pst = con.prepareStatement(query);
            pst.setString(1, cd);
            ResultSet rs = pst.executeQuery();


            while (rs.next()) {

                cd = rs.getString("CDFORNECEDOR");

                cd = cd.trim();
                
            }

            con.close();
            rs.close();
            return cd;
        } catch (SQLException e) {
            System.out.println(e);
        }

        return null;
    }
    /**
     * Realiza uma consulta por Nome do Fornecedor
     * @param cd Código do Fornecedor
     * @return String Nome do Fornecedor
     */
    public String consultaNMFORNECEDOR(String cd) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "SELECT NMFORNECEDOR from FORNECEDOR where CDFORNECEDOR like ?";

            PreparedStatement pst = con.prepareStatement(query);
            pst.setString(1, cd);
            ResultSet rs = pst.executeQuery();


            while (rs.next()) {

                cd = rs.getString("NMFORNECEDOR");

                cd = cd.trim();

            }

            con.close();
            rs.close();
            return cd;
        } catch (SQLException e) {
            System.out.println(e);
        }

        return null;
    }
}
